package com.huli.mapper;

import com.huli.domain.OrderInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.huli.domain.SysMaterial;
import com.huli.domain.vo.OrderDetailVO;
import com.huli.domain.vo.OrderVerifyResultVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author 张庆阳
 * @description 针对表【order_info(订单信息表)】的数据库操作Mapper
 * @createDate 2025-03-17 11:52:08
 * @Entity com.huli.domain.OrderInfo
 */
public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
    //通过状态进行查询订单
    Integer selectByStatus(Integer orderStatus);
    //派单功能实现
    int upodateByGo(@Param("nurseId") Integer nurseId,@Param("id") Integer id,@Param("messages") String messages);
    //服务页面详情中的耗材列表
    List<SysMaterial> show(Integer orderId);

    String findCase(Integer id);
    //查询订单明细
    List<OrderDetailVO> findByOrderNo(OrderDetailVO orderDetailVO);

    //根据订单号查询订单详情
    List<OrderDetailVO> getOrderDetail(OrderDetailVO orderDetailVO);

    //验证订单的验证码和价格
    OrderVerifyResultVO verifyOrderCode(String orderNo);

    //更新订单状态为服务中
    int updateOrderStatusToServing(String orderNo);


    /**
     * 更新订单状态为已完成
     * @param orderNo 订单号
     * @param finishTime 完成时间
     * @param signInTime 签到时间
     * @param processImages 过程图片
     * @return 更新结果
     */
    int updateOrderStatusToComplete(@Param("orderNo") String orderNo,
                                  @Param("finishTime") Date finishTime,
                                  @Param("signInTime") Date signInTime,
                                  @Param("processImages") String processImages);
    List<OrderInfo> getListAll();

    List<OrderInfo> selectBylist(Integer orderStatus);

    List<OrderInfo> getOrderInfoPatientListNotOk1();
}
